package config

import (
	"fmt"
	"gopkg.in/ini.v1"
)

var (
	AppMode  string
	HttpPort string
	JwtKey   string

	Db         string
	DbHost     string
	DbPort     string
	DbUser     string
	DbPassWord string
	DbName     string

	Zone       int
	AccessKey  string
	SecretKey  string
	Bucket     string
	QiniuSever string
)

func init() {
	// 读取ini文件，注意：这里读取文件的理解为相对路径，相对于项目的根目录
	file, err := ini.Load("config/config.ini")

	if err != nil {
		fmt.Println("文件读取失败，请检查路径：", err)
	}
	LoadServer(file)
	LoadData(file)
	LoadQiniu(file)
}

// LoadServer 配置服务参数
func LoadServer(file *ini.File) {
	// 读取配置文件中的数据
	// Section：读取的参数所在的分区
	// Key：数据对应的key名
	// MustString: 设置默认值，如果读取不到就取这个值
	AppMode = file.Section("server").Key("AppMode").MustString("debug")
	HttpPort = file.Section("server").Key("HttpPort").MustString(":5201")
	JwtKey = file.Section("server").Key("JwtKey").MustString("xiongda")

}

// LoadData 连接数据库
func LoadData(file *ini.File) {
	Db = file.Section("database").Key("Db").MustString("mysql")
	DbHost = file.Section("database").Key("DbHost").MustString("127.0.0.1")
	DbPort = file.Section("database").Key("DbPort").MustString("3306")
	DbUser = file.Section("database").Key("DbUser").MustString("root")
	DbPassWord = file.Section("database").Key("DbPassWord").MustString("xdz120211")
	DbName = file.Section("database").Key("DbName").MustString("ginblog")
}

// LoadQiniu 连接七牛云
func LoadQiniu(file *ini.File) {
	Zone = file.Section("qiniu").Key("Zone").MustInt(1)
	AccessKey = file.Section("qiniu").Key("AccessKey").String()
	SecretKey = file.Section("qiniu").Key("SecretKey").String()
	Bucket = file.Section("qiniu").Key("Bucket").String()
	QiniuSever = file.Section("qiniu").Key("QiniuSever").String()
}
